Image demosaicing is an image processing stage used for images captured by existing digital color cameras which use imaging sensors with color filter arrays. In these types of cameras (generally speaking most of the currently available digital color cameras) the semiconductor imaging sensor is a greyscale sensor that is not capable of detecting different colors. To enable color images to be captured, a color filter array is placed over the semiconductor imaging sensor. The color filter array is a grid of color filters arranged in a tessellating pattern so that each sensor element (sensel) of the imaging sensor receives light in a color range according to the filter array cell color positioned over the sensel. In this way a mosaic image is captured where image elements have single intensity values for one of three or more color channels (red, green and blue for example). Demosaicing is a process whereby intensity values for the other two channels are calculated for each of the image elements.
Many different existing image demosaicing processes exist. These may be tailored for example, according to whether the output color images are destined for a particular type of display screen or printing device.
Existing image demosaicing processes are limited in terms of accuracy and quality of results they produce. Artifacts are often introduced by existing image demosaicing processes. There is also a desire to achieve image demosaicing with minimal computing and memory resources and in short time scales. For example, many color cameras are implemented in resource constrained devices such as smart phones, where limited processing and memory resources are under high demand.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known image demosaicing equipment.